const {ccclass, property} = cc._decorator;

@ccclass
export default class NewClass extends cc.Component {

    @property(cc.Label)
    label: cc.Label = null;

    @property
    text: string = 'hello'; 

    onLoad ():void {
        // AssetManager的使用
         
    }
    // 本地化AB包
    loadBundle(){
        // 加载名为 "GameBundle" 的本地AB包
        cc.assetManager.loadBundle("GameBundle", (err, bundle) => {
            if (err) {
                console.error("AB包加载失败:", err);
                return;
            }
            // 从AB包加载图集资源
            bundle.load("textures/atlas", cc.SpriteAtlas, (err, atlas) => {
                if (err) console.error("图集加载失败:", err);
                else {
                    const spriteFrame = (atlas as cc.SpriteAtlas).getSpriteFrame("gold"); // 获取具体精灵帧
                    this.node.getComponent(cc.Sprite).spriteFrame = spriteFrame;
                }
            });
        });
    }
    // 远程服务器中的AB包
    loadRemoteBundle(){
        // 配置远程AB包地址（需与构建设置一致）
        const remoteUrl = "http://your-server.com/assets/remote/GameBundle";
        cc.assetManager.loadBundle(remoteUrl, (err, bundle) => {
            if (err){
                 console.error("远程包加载失败:", err);
            }else {
                bundle.load("prefabs/character", cc.Prefab, (err, prefab) => {
                    if (err) {
                        console.error("预制体加载失败:", err);
                        return;
                    }
                    if (prefab) {
                        const node = cc.instantiate(prefab as cc.Prefab);
                        this.node.addChild(node);
                    }
                });
            }
        });

    }

}
